package la.foton.homebroker.negocio.service;

import java.util.Date;
import java.util.List;

import la.foton.homebroker.negocio.dao.CarteiraDAO;
import la.foton.homebroker.negocio.entidade.Acao;
import la.foton.homebroker.negocio.entidade.Carteira;
import la.foton.homebroker.negocio.entidade.Investidor;
import la.foton.homebroker.negocio.entidade.ItemCarteira;
import la.foton.homebroker.negocio.entidade.Ordem;
import la.foton.homebroker.negocio.validador.ViolacaoNegocioException;

public class CarteiraService
{
	CarteiraDAO carteiraDAO;
	CotacaoService cotacaoService;
	
	public void atualizaPosicao(Investidor investidor, Ordem ordem)
	{
		Carteira carteira = investidor.getCarteira();
		carteira.atualizaPosicao(ordem);
	}

	public Carteira buscaCarteira() {
		
		Carteira carteira = carteiraDAO.buscaCarteira();
		
		atualizaValorAcoes(carteira.getListaAcoes());
		
		calculaValorFinanceira(carteira);
		
		return carteira;
	}

	private void atualizaValorAcoes(List<Acao> listaAcoes) {
		
		
		for(Acao acao : listaAcoes)
		{
			cotacaoService.consulta(acao, new Date());
		}
	}

	public void validaQuantidade(Investidor investidor, Ordem ordem) throws ViolacaoNegocioException {
		Carteira carteira = investidor.getCarteira();
		carteira.validaVenda(ordem);
	}

	public void calculaValorFinanceira(Carteira carteira)
	{
		
	}

	public void calculaVariacaoPercentualCotacao() {
			return;
		}
}
